例: AWS IoT Core クライアント SL ライブラリの使用
説明
ザの AWS IoT Core Client SL Example.project
例ではの使用方法を示しています。 AWS IoT Core Client SL
ライブラリ。
の AWSDeviceShadow
このアプリケーションでは、「デバイス シャドウ」の書き込みと読み取りの方法を示します。
の AWSPubSub
このアプリケーションは、含まれている機能ブロックを使用してメッセージをパブリッシュおよびサブスクライブする方法を示しています。
の AWS_JSON_DeviceShadow
このアプリケーションでは、JSONBuilder を使用して「デバイス シャドウ」を更新する方法を示します。
入門
クライアント証明書のインストール
クライアント証明書は、上のデバイスの認証に使用されます。 AWS IoT Core
。クライアント証明書は AWS ウェブインターフェイスを介して生成し、ダウンロードして、対応するデバイスにインストールできます。
CSR ファイル(証明書署名要求)がコントローラ上に生成されます。その後、このファイルを使用して証明書が生成されます。
これを行う方法については、次のセクションを参照してください。
証明書とプライベートキーは、AWS 経由でデバイスに作成、ダウンロード、インストールされます。
詳細については、以下を参照してください。 Import of client certificates with private key
CSR ファイルによる証明書の作成
ザの CODESYS Security Agent パッケージはコンピューターにインストールする必要があります。
詳細については、以下を参照してください。 CODESYS セキュリティエージェント
AWS アカウントが必要です。
作成 (
Thing
) デバイスインAWS IoT Core
ウェブインターフェイス経由。() を表示および管理できます
Things
) 下のナビゲーションサイドパネルにあるデバイスManage > All Devices > Things
。サンプル プロジェクトで、
AWSPubSub
応用。エンドポイントをに設定します
AWSIoTClient.sHostname
入力。例:
xxxxxxxxxxxxxxx.iot.yyyyyyyy.amazonaws.com)
エンドポイントは、以下のナビゲーションサイドパネルにあります。
Connect > Domain configurations
。必要に応じて、そこに新しいエンドポイントを作成することもできます。以前に割り当てたデバイス名 (「モノの名前」) を次のように設定します。
AWSIoTClient.sClientId
入力。を使う
AWSIoTClient.sCertCNPrefix
次の場合は入力してください。ClientId
ホスト名と同じです。これにより、間違った証明書 (たとえば、WebServer
)。ヒント
入力が表示されない場合は、以下を実行します。 ピンをリセット コマンド。
例:
sCertCNPrefix := 'AWSClient', sClientId := 'MyHostname';
証明書の「共通名」(CN) は次のとおりです。
AWSClient@MyHostname
アプリケーションをコントローラーにダウンロードして起動します。
これで、アプリケーションは AWS への暗号化された接続を確立しようとしますが、証明書がないため失敗します。とはいえ、このセットアップ実験は次の点で重要です。
を設定
xEnable
の旗AWSIoTClient
へTRUE
。デバイスエディタで、 PLC シェル タブ。
以下のコマンドを実行します。
cert-getapplist
指定したデバイス名と番号のコンポーネントが出力に表示されます。
注:以前に AWS への接続を確立しようとしたことがない場合(ステップ 5)、デバイスは表示されません。
以下のコマンドを実行します。
cert-createcsr <number> encoding=Base64
<number>
をステップ8で取得した番号に置き換えてください。CSRファイルの生成には数秒かかる場合があります。下のデバイスエディタで ログ カテゴリ。生成後、対応するメッセージが出力されます。
デバイスエディタで、 [ファイル] タブ。
CSR ファイルを
cert/export
ディレクトリをローカル ファイル システムにコピーします。これで、生成された CSR ファイルを使用して AWS ウェブインターフェイスから証明書を作成できます。
すべての証明書の管理概要には、ナビゲーションサイドパネルから次の方法でアクセスできます。
Security > Certificates
。を使う
Add certificate > Create certificate
コマンドを実行して、エクスポートした CSR ファイルを使用して新しい証明書を作成します。証明書とルート証明書をダウンロードします。
で CODESYS、クリック 表示 → セキュリティ画面 メニューコマンド。
アンダー 独自の証明書、クライアント証明書をインストールします。
アンダー 信頼できる証明書、ルート証明書をインストールします。
クリック オンライン→コールドをリセット そしてアプリケーションを起動します。
による新しい接続試行
AWSIoTClient
これで、関数ブロックは次のように設定されます。AWSIoTClient.xConnectedToBroker
に出力するTRUE
。接続は正常に確立されました。
重要
CSR を使用して作成した証明書をコントローラからアンインストールすると、再インストールすると機能しなくなります。
これは、プライベートキーの情報がアンインストール中に削除されるためです。その場合は、デバイス用の新しい証明書を作成する必要があります。
システム要件と制限事項
プログラミングシステム | CODESYS Development System (バージョン 3.5.18.0 またはそれ以降) |
ランタイムシステム | CODESYS Control Win (バージョン 3.5.18.0 またはそれ以降) 注: 無料の |
アドオンコンポーネント | - |
追加の要件 | AWS アカウント (AWS IoT Core) |
注記
ダウンロード プロジェクト